Businesses increasingly rely on business processes to accomplish various tasks within the organization. The business software that is used to implement the business processes becomes critical to the organization. Some software (e.g., SAP business software of SAP AG of Walldorf, Germany) allows customization and modification of the business process applications. Changes to the business processes may be made frequently (e.g., quarterly) in some organizations. Prior to implementing a change in the business process software, the organization would ideally verify/validate the change to ensure the change accomplishes what is desired, and does so correctly without interruption to the normal flow of the organization. However, current methods of verification of the business process changes are expensive, time-consuming, and often require tradeoffs between reliability and cost and/or time.
Currently, business software is tested in one of two ways: manually, or via record and playback/scripting. Manual testing suffers from being very time consuming and having a small scope of possible tests. The risk that an error will “make its way through” the testing is relatively high. The inefficiency and cost aspects to manual testing makes manual testing a generally unacceptable procedure. Automated tests are generally considered to improve quality, but generating and maintaining test content is traditionally time consuming and expensive.
Test content is traditionally generated to recreate scenarios and processes that occur in normal execution of the execution system. Thus, test content traditionally must be created with configuration and data inputs to simulate a real transaction. However, accurately creating test content can be difficult. Where test content can be accurately created, it is typically costly to generate and maintain.